用openssl_encrypt替换mcrypt_encrypt
浏览量:165
PHP升级至7.2.5,之前使用了mcrypt_encrypt和mcrypt_decrypt函数,出现错误:Call to undefined function mcrypt_decrypt()
why:
最新php已经用openssl代替mcrypt,所以可以使用openssl来加解密,或者手动安装mcrypt扩展
how:
原来的加密密钥32位,IV是16位
mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $str, MCRYPT_MODE_CBC, $iv);
mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $str, MCRYPT_MODE_CBC, $iv);
变更后为:
openssl_encrypt($str, 'aes-256-cbc', $key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING, $iv);
openssl_decrypt($str, 'aes-256-cbc', $key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING, $iv);


感谢支持与鼓励~